﻿namespace KnownCMS;

/// <summary>
/// CMS创作者中心页面菜单特性类。
/// </summary>
public class UserMenuAttribute : Attribute
{
    /// <summary>
    /// 构造函数，创建一个用户菜单特性类的实例。
    /// </summary>
    /// <param name="name">菜单名称。</param>
    /// <param name="icon">菜单图标。</param>
    /// <param name="activeUrl">菜单选中的URL片段。</param>
    /// <param name="sort">菜单排序。</param>
    public UserMenuAttribute(string name, string icon, string activeUrl, int sort)
    {
        Name = name;
        Icon = icon;
        ActiveUrl = activeUrl;
        Sort = sort;
    }

    /// <summary>
    /// 取得页面菜单名称。
    /// </summary>
    public string Name { get; }

    /// <summary>
    /// 取得页面菜单图标。
    /// </summary>
    public string Icon { get; }

    /// <summary>
    /// 取得页面菜单URL。
    /// </summary>
    public string Url { get; internal set; }

    /// <summary>
    /// 取得页面菜单选中的URL片段。
    /// </summary>
    public string ActiveUrl { get; }

    /// <summary>
    /// 取得页面菜单排序。
    /// </summary>
    public int Sort { get; }
}